package com.sxm.yiwei.tools;

import android.content.Context;
import android.content.Intent;

import android.content.SharedPreferences;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.sxm.yiwei.R;
import com.sxm.yiwei.activitis.AppManager;
import com.sxm.yiwei.activitis.UserLoginActivity;
import com.sxm.yiwei.activitis.UserUpActivity;


/**
 * Created by KuKa on 2017/8/10.
 * 错误处理类
 *
 */

public class ErrType {
    private static AlertDialog.Builder builder;
    private static SharedPreferences sharedPreferences;
        // 网络请求错误状态码
    public static void errType(Context context, Throwable ex){

        String errstr = ex.fillInStackTrace().toString();
        boolean b = errstr.contains("login_failure");

        if (b){
            sharedPreferences = AppManager.getAppManager().currentActivity().getSharedPreferences("userlogin", Context.MODE_PRIVATE);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putString("token","").commit();
            builder =  new AlertDialog.Builder(context);
            View view = LayoutInflater.from(context).inflate(R.layout.amount_dialog, null);
            builder.setView(view);
            Button cancel = (Button) view.findViewById(R.id.amount_cancel);
            Button sure = (Button) view.findViewById(R.id.amount_sure);
            TextView message = (TextView) view.findViewById(R.id.amount_message);
            TextView title = (TextView) view.findViewById(R.id.amount_title);
            title.setText("登陆提示");
            message.setText("您的账号已在另一台手机登录，如果不是您本人操作，可能密码已泄露，建议您修改密码");
            cancel.setText("取消");
            sure.setText("登陆");
            final AlertDialog dialog = builder.create();
            cancel.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    dialog.dismiss();
                }
            });
            sure.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    AppManager.getAppManager().currentActivity().startActivity(new Intent(AppManager.getAppManager().currentActivity(),UserUpActivity.class));
                    AppManager.getAppManager().currentActivity().finish();
                }
            });
            dialog.show();
        }else {}
    }

    /**
     *  网络请求成功 服务返回的错误码
     * @param code 错误码
     * @param context 上下文
     */
    public static void successErrCode(String code,Context context){
        Integer errcode = Integer.valueOf(code);
        switch (errcode){
            case 1001://该手机号已被注册
                Toast.makeText(context, "该手机号已被注册,可通过忘记密码重新设置登录密码", Toast.LENGTH_SHORT).show();
                break;
            case 1002://用户名或密码错误
                Toast.makeText(context, "用户名或密码错误", Toast.LENGTH_SHORT).show();
                break;
            case 1003://账号被禁用
                Toast.makeText(context, "账号被禁用", Toast.LENGTH_SHORT).show();
                break;
            case 1004://登录失效，请重新登录
                Toast.makeText(context, "登录失效，请重新登录", Toast.LENGTH_SHORT).show();
                break;
            case 1005://短信验证码错误
                Toast.makeText(context, "短信验证码错误", Toast.LENGTH_SHORT).show();
                break;
            case 1006://错误的图片类型
                Log.d("errcode", "successErrCode: --错误的图片类型");
                break;
            case 1007://没有找到要上传的文件
                Log.d("errcode", "successErrCode: --没有找到要上传的文件");
                break;
            case 1008://等级与金额不匹配
                Log.d("errcode", "successErrCode: --等级与金额不匹配");
                break;
            case 1009://手机号未注册
                Toast.makeText(context, "手机号未注册", Toast.LENGTH_SHORT).show();
                break;
            case 1010://身份审核已通过
                Toast.makeText(context, "身份审核已通过", Toast.LENGTH_SHORT).show();
                break;
            case 1011://身份审核中
                Toast.makeText(context, "身份审核中", Toast.LENGTH_SHORT).show();
                break;
            case 1012://金额与份额错误
                Toast.makeText(context, "金额与份额错误", Toast.LENGTH_SHORT).show();
                break;
            case 1013://错误的基金类型
                Toast.makeText(context, "错误的基金类型", Toast.LENGTH_SHORT).show();
                break;
            case 1014://金额不合法
                Log.d("errcode", "successErrCode: --金额不合法");
                break;
            case 1015://支付密码错误
                Toast.makeText(context, "支付密码错误", Toast.LENGTH_SHORT).show();
                break;
            case 1016://账户余额不足
                Toast.makeText(context, "账户余额不足", Toast.LENGTH_SHORT).show();
                break;
            case 1017://已送出22个红包了，休息一下再回来吧
                Toast.makeText(context, "已送出22个红包了，休息一下再回来吧", Toast.LENGTH_SHORT).show();
                break;
            case 1018://已抢了10该类红包，先发送一个吧
                Toast.makeText(context, "已抢了10该类红包，先发送一个吧", Toast.LENGTH_SHORT).show();
                break;
            case 1019://需要发送一个一心红包才可以送祝福
                Toast.makeText(context, "需要发送一个一心红包才可以送祝福", Toast.LENGTH_SHORT).show();
                break;
            case 1020://需要发送一个二意红包才可以送祝福
                Toast.makeText(context, "需要发送一个二意红包才可以送祝福", Toast.LENGTH_SHORT).show();
                break;
            case 1021://为保证物品的安全，级别达到小工以上才可以抢单
                Toast.makeText(context, "为保证物品的安全，级别达到小工以上才可以抢单", Toast.LENGTH_SHORT).show();
                break;
            case 10210://此单保价高于您的可接单额度(200),为保证物品的安全,需要达到小工级别以上才可以抢单
                Toast.makeText(context, "此单保价高于您的可接单额度(200),为保证物品的安全,需要达到小工级别以上才可以抢单", Toast.LENGTH_SHORT).show();

                break;
            case 10211://此单保价高于您的可接单额度(500),为保证物品的安全,需要达到贫农级别以上才可以抢单
                Toast.makeText(context, "此单保价高于您的可接单额度(500),为保证物品的安全,需要达到贫农级别以上才可以抢单", Toast.LENGTH_SHORT).show();

                break;
            case 10212://此单保价高于您的可接单额度(1000),为保证物品的安全,需要达到贫农级别以上才可以抢单
                Toast.makeText(context, "此单保价高于您的可接单额度(1000),为保证物品的安全,需要达到贫农级别以上才可以抢单", Toast.LENGTH_SHORT).show();

                break;
            case 10213://此单保价高于您的可接单额度(5000),为保证物品的安全,需要达到贫农级别以上才可以抢单
                Toast.makeText(context, "此单保价高于您的可接单额度(5000),为保证物品的安全,需要达到贫农级别以上才可以抢单", Toast.LENGTH_SHORT).show();

                break;
            case 10214://此单保价高于您的可接单额度(1w),为保证物品的安全,需要达到贫农级别以上才可以抢单
                Toast.makeText(context, "此单保价高于您的可接单额度(1w),为保证物品的安全,需要达到贫农级别以上才可以抢单", Toast.LENGTH_SHORT).show();

                break;
            case 10215://此单保价高于您的可接单额度(2w),为保证物品的安全,需要达到贫农级别以上才可以抢单
                Toast.makeText(context, "此单保价高于您的可接单额度(2w),为保证物品的安全,需要达到贫农级别以上才可以抢单", Toast.LENGTH_SHORT).show();

                break;
            case 10216://此单保价高于您的可接单额度(5w),为保证物品的安全,需要达到贫农级别以上才可以抢单
                Toast.makeText(context, "此单保价高于您的可接单额度(5w),为保证物品的安全,需要达到贫农级别以上才可以抢单", Toast.LENGTH_SHORT).show();

                break;
            case 10217://此单保价高于您的可接单额度(10w),为保证物品的安全,需要达到贫农级别以上才可以抢单
                Toast.makeText(context, "此单保价高于您的可接单额度(10w),为保证物品的安全,需要达到贫农级别以上才可以抢单", Toast.LENGTH_SHORT).show();

                break;
            case 10218://为保证订单的时效性，请您距离订单20公里内再抢
                Toast.makeText(context, "为保证订单的时效性，请您距离订单20公里内再抢", Toast.LENGTH_SHORT).show();

                break;
            case 1022://性别不符
                Toast.makeText(context, "性别不符", Toast.LENGTH_SHORT).show();

                break;
            case 1023://不在红包范围内
                Toast.makeText(context, "不在红包范围内", Toast.LENGTH_SHORT).show();
                break;
            case 1024://心愿已经祝福完毕
                Toast.makeText(context, "心愿已经祝福完毕", Toast.LENGTH_SHORT).show();

                break;
            case 1025://加价金额错误
                Toast.makeText(context, "加价金额错误", Toast.LENGTH_SHORT).show();
                break;
            case 1026://该订单已不能加价
                Toast.makeText(context, "该订单已不能加价", Toast.LENGTH_SHORT).show();
                break;
            case 1027://身份审核未通过
                Toast.makeText(context, "身份审核未通过", Toast.LENGTH_SHORT).show();
                break;
            case 1028://该订单已被别人抢跑了
                Toast.makeText(context, "该订单已被别人抢跑了", Toast.LENGTH_SHORT).show();
                break;
            case 1029://游民或普通用户不能抢单
                Toast.makeText(context, "游民或普通用户不能抢单", Toast.LENGTH_SHORT).show();
                break;
            case 1030://此订单已您已经抢过了，再看看别的订单吧
                Toast.makeText(context, "此订单已您已经抢过了，再看看别的订单吧", Toast.LENGTH_SHORT).show();
                break;
            case 1031://系统已自动选定一喂员或您已选定一喂员
                Toast.makeText(context, "系统已自动选定一喂员或您已选定一喂员", Toast.LENGTH_SHORT).show();

                break;
            case 1032://订单已被对方取消，去看看别的订单吧
                Toast.makeText(context, "订单已被对方取消，去看看别的订单吧", Toast.LENGTH_SHORT).show();

                break;
            case 1033://已补差价，请勿重复操作
                Toast.makeText(context, "已补差价，请勿重复操作", Toast.LENGTH_SHORT).show();

                break;
            case 1034://不是该订单的一喂员，不能进行该操作
                Toast.makeText(context, "已补差价，请勿重复操作", Toast.LENGTH_SHORT).show();
                break;
            case 1035://已不能取消订单
                Toast.makeText(context, "不是该订单的一喂员，不能进行该操作", Toast.LENGTH_SHORT).show();
                break;
            case 1036://至少要上传一张图片
                Toast.makeText(context, "至少要上传一张图片", Toast.LENGTH_SHORT).show();
                break;
            case 1037://已提交申诉待处理，请勿重复提交
                Toast.makeText(context, "已提交申诉待处理，请勿重复提交", Toast.LENGTH_SHORT).show();

                break;
            case 1038://收货人不能为空
                Toast.makeText(context, "收货人不能为空", Toast.LENGTH_SHORT).show();

                break;
            case 1039://店铺头像不能为空
                Toast.makeText(context, "店铺头像不能为空", Toast.LENGTH_SHORT).show();

                break;
            case 1040://店铺至少上传一张展示图片
                Toast.makeText(context, "店铺至少上传一张展示图片", Toast.LENGTH_SHORT).show();

                break;
            case 1041://企业资质照片必须完整
                Toast.makeText(context, "企业资质照片必须完整", Toast.LENGTH_SHORT).show();

                break;
            case 1042://服务说明图片不能为空
                Toast.makeText(context, "服务说明图片不能为空", Toast.LENGTH_SHORT).show();

                break;
            case 1043://展位没有发生变化
                Toast.makeText(context, "展位没有发生变化", Toast.LENGTH_SHORT).show();

                break;
            case 1044://店铺处于休息状态
                Toast.makeText(context, "店铺处于休息状态", Toast.LENGTH_SHORT).show();

                break;
            case 1045://举报图片不能少于一张
                Toast.makeText(context, "举报图片不能少于一张", Toast.LENGTH_SHORT).show();

                break;
            case 1046://您已申请过加价，请不要重复申请
                Toast.makeText(context, "您已申请过加价，请不要重复申请", Toast.LENGTH_SHORT).show();

                break;
            case 1047://订单状态异常
                Toast.makeText(context, "订单状态异常", Toast.LENGTH_SHORT).show();

                break;
            case 1048://不能删除订单
                Toast.makeText(context, "不能删除订单", Toast.LENGTH_SHORT).show();

                break;
            case 1049://已提交申诉，请勿重复提交
                Toast.makeText(context, "已提交申诉，请勿重复提交", Toast.LENGTH_SHORT).show();

                break;
            case 1050://还没有开店
                Toast.makeText(context, "还没有开店", Toast.LENGTH_SHORT).show();

                break;
            case 1051://已开店，请勿重复操作
                Toast.makeText(context, "已开店，请勿重复操作", Toast.LENGTH_SHORT).show();

                break;
            case 1052://服务未处于正在出售状态
                Toast.makeText(context, "服务未处于正在出售状态", Toast.LENGTH_SHORT).show();

                break;
            case 1053://状态错误，请刷新页面
                Toast.makeText(context, "状态错误，请刷新页面", Toast.LENGTH_SHORT).show();

                break;
            case 1054://亲，提现申请时间为每周一哦，周二对账，周三打款
                Toast.makeText(context, "亲，提现申请时间为每周一哦，周二对账，周三打款", Toast.LENGTH_SHORT).show();

                break;
            case 1055://不能重复提交提现申请
                Toast.makeText(context, "不能重复提交提现申请", Toast.LENGTH_SHORT).show();

                break;
            case 1056://不能重复支付
                Toast.makeText(context, "不能重复支付", Toast.LENGTH_SHORT).show();

                break;
            case 1057://状态错误，无法支付
                Toast.makeText(context, "状态错误，无法支付", Toast.LENGTH_SHORT).show();

                break;
            case 1058://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1059://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1060://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1061://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1062://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1063://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1064://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1065://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1066://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1067://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1068://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1069://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1070://系统已自动选定一喂员或您已选定一喂员

                break;
            case 1072:
                Toast.makeText(context, "无法购买自己发布的服务", Toast.LENGTH_SHORT).show();

                break;
            case 1073:
                Toast.makeText(context, "无法购买自己发布的服务", Toast.LENGTH_SHORT).show();

                break;

        }

    }
}
